home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / test / test_compare.pyc (.txt) < prev    next >
Python Compiled Bytecode  |  2005-10-18  |  2KB  |  87 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.4)
  3.  
  4. import sys
  5.  
  6. class Empty:
  7.     
  8.     def __repr__(self):
  9.         return '<Empty>'
  10.  
  11.  
  12.  
  13. class Coerce:
  14.     
  15.     def __init__(self, arg):
  16.         self.arg = arg
  17.  
  18.     
  19.     def __repr__(self):
  20.         return '<Coerce %s>' % self.arg
  21.  
  22.     
  23.     def __coerce__(self, other):
  24.         if isinstance(other, Coerce):
  25.             return (self.arg, other.arg)
  26.         else:
  27.             return (self.arg, other)
  28.  
  29.  
  30.  
  31. class Cmp:
  32.     
  33.     def __init__(self, arg):
  34.         self.arg = arg
  35.  
  36.     
  37.     def __repr__(self):
  38.         return '<Cmp %s>' % self.arg
  39.  
  40.     
  41.     def __cmp__(self, other):
  42.         return cmp(self.arg, other)
  43.  
  44.  
  45. candidates = [
  46.     2,
  47.     2.0,
  48.     0x2L,
  49.     2 + (0.0+0.0j),
  50.     [
  51.         1],
  52.     (3,),
  53.     None,
  54.     Empty(),
  55.     Coerce(2),
  56.     Cmp(2.0)]
  57.  
  58. def test():
  59.     for a in candidates:
  60.         for b in candidates:
  61.             
  62.             try:
  63.                 x = a == b
  64.             except:
  65.                 print 'cmp(%s, %s) => %s' % (a, b, sys.exc_info()[0])
  66.                 continue
  67.  
  68.             if x:
  69.                 print '%s == %s' % (a, b)
  70.                 continue
  71.             print '%s != %s' % (a, b)
  72.         
  73.     
  74.     L = []
  75.     for i in range(10):
  76.         L.insert(len(L) // 2, Empty())
  77.     
  78.     for a in L:
  79.         for b in L:
  80.             if cmp(a, b) != cmp(id(a), id(b)):
  81.                 print 'ERROR:', cmp(a, b), cmp(id(a), id(b)), id(a), id(b)
  82.                 continue
  83.         
  84.     
  85.  
  86. test()
  87.